﻿//------------------------------------------------------------------------------
// ╭─────────────────────────────╮
// │ ╭─╮     ╭─╮              TM │   ╠═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╣
// │ │ │     │ │                 │                                           ☺  
// │ │ ╰───╮ │ │ ╭─────╮ ╭─────╮ │     Name:Wedn.Net 处理程序基类        ♮ ♪ ♩
// │ │ ╭─╮ │ │ │ │ ╭─╮ │ │ ╭─╮ │ │                                    ♫ ♭      
// │ │ ╰─╯ │ │ │ │ ╰─╯ │ │ ╰─╯ │ │     Author:iceStone               ♬ ♪       
// │ └─────╯ └─╯ ╰─────╯ ╰───╮ │ │     Chinese:汪磊                              
// │                     ┌───╯ │ │                                              
// │                     ╰─────╯ │   ╠═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╣
// ╰─────────────────────────────╯                                              
//------------------------------------------------------------------------------
using System.Web;

namespace Wedn.Net.UI.Handlers
{
    /// <summary>
    /// 处理程序基类
    /// </summary>
    public abstract class BaseHandler : IHttpHandler
    {
        /// <summary>
        /// 处理请求方法
        /// </summary>
        /// <param name="context">HTTP上下文</param>
        public abstract void ProcessRequest(HttpContext context);

        /// <summary>
        /// 是否重用
        /// </summary>
        public virtual bool IsReusable
        {
            get { return false; }
        }

        /// <summary>
        /// 清空响应流 输出字符串
        /// </summary>
        /// <param name="str"></param>
        protected virtual void ResponseStr(string str)
        {
            HttpContext context = HttpContext.Current;
            context.Response.Clear();
            context.Response.Write(str);
            //context.Response.Flush();
            context.Response.End();
        }
    }
}